#!/usr/bin/env python
import sys
import fileinput
stdout = sys.stdout
stderr = sys.stderr

def main(argv):
  fonts = {}
  for line in fileinput.input():
    f = line.strip().split(' ')
    if not f: continue
    k = f[0]
    if k == 'FontName':
      fontname = f[1]
      props = {'FontName': fontname, 'Flags': 0}
      chars = {}
      fonts[fontname] = (props, chars)
    elif k == 'C':
      cid = int(f[1])
      if 0 <= cid and cid <= 255:
        width = int(f[4])
        chars[cid] = width
    elif k in ('CapHeight', 'XHeight', 'ItalicAngle',
               'Ascender', 'Descender'):
      k = {'Ascender':'Ascent', 'Descender':'Descent'}.get(k,k)
      props[k] = float(f[1])
    elif k in ('FontName', 'FamilyName', 'Weight'):
      k = {'FamilyName':'FontFamily', 'Weight':'FontWeight'}.get(k,k)
      props[k] = f[1]
    elif k == 'IsFixedPitch':
      if f[1].lower() == 'true':
        props['Flags'] = 64
    elif k == 'FontBBox':
      props[k] = tuple(map(float, f[1:5]))
  print '# -*- python -*-'
  print 'FONT_METRICS = {'
  for (fontname,(props,chars)) in fonts.iteritems():
    print ' %r: %r,' % (fontname, (props,chars))
  print '}'
  return 0

if __name__ == '__main__': sys.exit(main(sys.argv))
